package com.cust.sky.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cust.sky.dto.EmployeeDTO;
import com.cust.sky.dto.EmployeeLoginDTO;
import com.cust.sky.dto.EmployeePageQueryDTO;
import com.cust.sky.entity.Employee;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 员工信息 服务类
 * </p>
 *
 * @author lei
 * @since 2024-07-10
 */
public interface EmployeeService extends IService<Employee> {

    /**
     * 员工登录
     * @param employeeLoginDTO
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);

    /**
     * 新增员工
     * @param employeeDTO
     */
    void saveEmployee(EmployeeDTO employeeDTO);

    /**
     * 员工条件分页查询
     * @param employeePageQueryDTO
     * @return
     */
    IPage getPage(EmployeePageQueryDTO employeePageQueryDTO);

    /**
     * 启用或禁用员工账号
     * @param status
     * @param id
     */
    void startOrStop(Integer status, Long id);

    /**
     * 编辑员工
     * @param employeeDTO
     */
    void updateEmployee(EmployeeDTO employeeDTO);
}
